package com.dc.designPattern._0_设计原则._3_lsp.step2;

/**
 * Description: 里氏替换_最终案例_Client
 * @author: gdc
 * @date: 2021/7/23
 * @version 1.0
 */
public class Client {
    public static void main(String[] args) {

        A a = new A();
        System.out.println("11-3=" + a.sub(11, 3));
        System.out.println("1-8=" + a.sub(1, 8));
        System.out.println("-----------------------");

        B b = new B();
        //因为 B 类不再继承 A 类，因此调用者，不会再将 sub方法 是求减法，调用完成的功能就会很明确
        //这里本意是求出 11+3
        System.out.println("11+3=" + b.sub(11, 3));

        // 1+8
        System.out.println("1+8=" + b.sub(1, 8));

        System.out.println("11+3+9=" + b.func2(11, 3));

        //使用组合仍然可以使用到 A 类相关方法
        // 这里本意是求出 11-3
        System.out.println("11-3=" + b.func3(11, 3));
    }
}





